﻿# CMakeList.txt: TestCPyLib 的 CMake 项目，在此处包括源代码并定义
# 项目特定的逻辑。
#
cmake_minimum_required (VERSION 3.8)

# 如果支持，请为 MSVC 编译器启用热重载。
if (POLICY CMP0141)
	cmake_policy(SET CMP0141 NEW)
  set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<IF:$<AND:$<C_COMPILER_ID:MSVC>,$<CXX_COMPILER_ID:MSVC>>,$<$<CONFIG:Debug,RelWithDebInfo>:EditAndContinue>,$<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>>")
endif()

project ("TestCPy")

if (MSVC)
    add_compile_options(/utf-8)
    add_compile_options(/EHsc)
endif()

# 设置CMake使用的Python版本
find_package(Python3 REQUIRED)

# 查找Python开发头文件和库
find_package(Python3 COMPONENTS Interpreter Development)

# 设置库的后缀为 .pyd（可以根据需求更改）
set(CMAKE_SHARED_LIBRARY_SUFFIX ".pyd")

# 将源代码添加到此项目的可执行文件。
add_library(TestCPy SHARED "TestCPyLib.cpp")

# 链接Python开发库
target_link_libraries(TestCPy PRIVATE Python3::Python)

if (CMAKE_VERSION VERSION_GREATER 3.12)
  set_property(TARGET TestCPy PROPERTY CXX_STANDARD 20)
endif()

# TODO: 如有需要，请添加测试并安装目标。
